草庐IT

tcp 序列号

全部标签

c# - .NET 中的方法是否也与数据成员一起序列化?

标题很明显,我需要知道在C#中方法是否与对象实例一起序列化,我知道它们在Java中没有,但我对C#有点陌生。如果他们不这样做,在将其发送到另一台PC时,我是否必须将带有字节流(序列化对象)的原始类放在一个包中?原始类可以像DLL文件一样吗? 最佳答案 没有。类型信息与状态一起被序列化。为了反序列化数据,您的程序将需要访问包含类型(包括方法)的程序集。 关于c#-.NET中的方法是否也与数据成员一起序列化?,我们在StackOverflow上找到一个类似的问题:

c# - 无法将 JSON 数组反序列化为类型 - Json.NET

我正在尝试将json数据反序列化为模型类,但我失败了。这是我所做的:publicCountryModelGetCountries(){using(WebClientclient=newWebClient()){varresult=client.DownloadString("http://api.worldbank.org/incomeLevels/LIC/countries?format=json");varoutput=JsonConvert.DeserializeObject>(result);returnoutput.First();}}这是我的模型的样子:publicclas

c# - 为什么二进制序列化比 xml 序列化更快?

为什么二进制序列化被认为比xml序列化更快? 最佳答案 考虑序列化double例如:二进制序列化:从内存地址向流写入8字节二进制反序列化:读取相同的8个字节xml序列化:写入标记、转换为文本、写入结束标记-几乎是I/O的三倍和1000倍的CPU利用率xml反序列化:标签读取/验证、读取字符串并将其解析为数字、结束标签的读取/验证。I/O开销略多,CPU开销多一些 关于c#-为什么二进制序列化比xml序列化更快?,我们在StackOverflow上找到一个类似的问题:

c# - 序列化接口(interface)

我正在尝试运行与此类似的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Xml.Serialization;namespaceConsoleApplication1{[Serializable][XmlInclude(typeof(List))]publicclassClass1{privateIListmyArray;publicIListMyArray{get{returnmyArray;}set{myArray=value;}}}publicclassClass2{privatei

c# - 如何使用采用 XDocument 的构造函数将 XML 反序列化为对象?

我有一个类:publicclassMyClass{publicMyClass(){}}我希望能够使用XMLSeralizer直接在构造函数中反序列化XDocument,因此:publicclassMyClass{privateXmlSerializer_s=newXmlSerializer(typeof(MyClass));publicMyClass(){}publicMyClass(XDocumentxd){this=(MyClass)_s.Deserialize(xd.CreateReader());}}除非我不允许在构造函数中分配给“this”。这可能吗?

c# - 为什么 .Net 框架中有那么多简单类型没有标记为可序列化?

我发现.Net框架中的许多简单类型没有标记为可序列化,这是一个反复出现的不便。例如:System.Drawing.Point或Rectangle。这两个结构都只包含原始数据,应该可以很容易地以任何格式序列化。但是,由于缺少[System.Serializable]属性,我无法将它们与BinaryFormatter一起使用。这有什么我没有看到的原因吗? 最佳答案 这只是一个效率问题。将字段标记为可序列化,编译器必须将每个字段映射到别名表。如果它们都被标记为可序列化,则每个注入(inject)或继承它们的对象都需要映射到别名表以处理其序

c# - 使用 SqlCommand.ExecuteScalar() 从序列中选择在高磁盘使用率时返回 NULL

我遇到SqlCommand.ExecuteScalar()有时在生产环境中返回NULL。我在这里遇到了很多类似的问题,最接近的是:SqlCommand.ExecuteScalarreturnsnullbutrawSQLdoesnot.但给出的建议与我的情况无关。代码示例在这里:using(varconnection=newSqlConnection(connectionString)){connection.Open();using(varcommand=connection.CreateCommand()){command.CommandText="SELECTNEXTVALUEFO

c# - 为什么可空值序列的 Linq-to-Objects 总和本身可以为空?

像往常一样,int?表示System.Nullable(或System.Nullable`1[System.Int32])。假设您在内存中有一个IEnumerable(例如List),我们称它为seq;然后你可以找到它的总和:varseqSum=seq.Sum();当然这会转到扩展方法重载int?IEnumerable.Sum()(documentation)这实际上是System.Linq.Enumerable上的静态方法.但是,该方法永远不会返回null,那么为什么返回类型声明为Nullable?即使在seq的情况下是一个空集合,或者更一般地说,是一个所有元素都是null的集合类型

c# - 如何增加 .NET Remoting over TCP 使用的线程数?

我们正在尝试增加.NETRemotingoverTCP使用的线程数。我们已经尝试更改ThreadPool.SetMinThreads,但我们的压力测试表明.NETRemoting只能处理大约100个并发请求。(但这不是硬性限制)。在任务管理器中,我们可以看到我们的RemotingServer进程线程数从11增加到大约80,然后在压力测试后回落到11。我们正在运行ASP.NET4.0应用程序。 最佳答案 总结一下。远程服务器由Windows服务托管,远程客户端由IIS托管。要执行压力测试,您可以使用ApacheBench,它调用调用远

c# - 使用 C# 从 TCP 流中解析串联的、非定界的 XML 消息

我正在尝试解析通过TCP发送到我的C#应用程序的XML消息。不幸的是,协议(protocol)无法更改,XML消息没有定界,也没有使用长度前缀。此外,字符编码不固定,但每条消息都以XML声明开头.问题是,我如何使用C#一次读取一条XML消息。到目前为止,我尝试将数据从TCP流读取到字节数组中并通过MemoryStream使用它.问题是,缓冲区可能包含多个XML消息,或者第一条消息可能不完整。在这些情况下,我在尝试使用XmlReader.Read解析它时遇到异常或XmlDocument.Load,但不幸的是XmlException并不能真正让我区分问题(解析本地化错误字符串除外)。我尝试